A setpoint command moves a PID subsystem to the given setpoint. It finishes when the PID subsystem is within the given tolerance of the setpoint.
Commands can require a subsystem using the requires() method of commands. When a command requires a subsystem, it claims exclusive control over that subsystem and will interrupt any other command that requires the same subsystem. This only works if all your commands properly require the subsystems that they use.